package com.team.merchant.service.impl;

import java.util.List;

import com.team.merchant.domain.dto.MerchantDto;
import com.team.merchant.domain.vo.MerchantDetailVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.team.merchant.mapper.MerchantInfoMapper;
import com.team.merchant.domain.MerchantInfo;
import com.team.merchant.service.IMerchantInfoService;

/**
 * 商户信息Service业务层处理
 * 
 * @author panyue
 * @date 2025-07-14
 */
@Service
public class MerchantInfoServiceImpl implements IMerchantInfoService 
{
    @Autowired
    private MerchantInfoMapper merchantInfoMapper;

    /**
     * 查询商户信息
     * 
     * @param id 商户信息主键
     * @return 商户信息
     */
    @Override
    public MerchantDetailVo selectMerchantInfoById(Long id)
    {
        return merchantInfoMapper.selectMerchantInfoById(id);
    }

    @Override
    public List<MerchantDetailVo> selectMerchantInfoList(MerchantDto merchantDto) {
        return merchantInfoMapper.selectMerchantList(merchantDto);
    }

    /**
     * 查询商户信息列表
     * 
     * @param merchantInfo 商户信息
     * @return 商户信息
     */


    /**
     * 新增商户信息
     * 
     * @param merchantInfo 商户信息
     * @return 结果
     */
    @Override
    public int insertMerchantInfo(MerchantInfo merchantInfo)
    {
        return merchantInfoMapper.insertMerchantInfo(merchantInfo);
    }

    /**
     * 修改商户信息
     * 
     * @param merchantInfo 商户信息
     * @return 结果
     */
    @Override
    public int updateMerchantInfo(Long id,Long auditStatusId)
    {
        return merchantInfoMapper.updateMerchantInfo(id,auditStatusId);
    }

    /**
     * 批量删除商户信息
     * 
     * @param ids 需要删除的商户信息主键
     * @return 结果
     */
    @Override
    public int deleteMerchantInfoByIds(Long[] ids)
    {
        return merchantInfoMapper.deleteMerchantInfoByIds(ids);
    }

    /**
     * 删除商户信息信息
     * 
     * @param id 商户信息主键
     * @return 结果
     */
    @Override
    public int deleteMerchantInfoById(Long id)
    {
        return merchantInfoMapper.deleteMerchantInfoById(id);
    }
}
